תרגול מס' 2 הכרות, הכנת תכנית בשפת C והרצתה במערכת Visual C

Similar documents
ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

ASP.Net MVC + Entity Framework Code First.

Visual C# Express Edition 2005

Visual C# Express יסודות מדעי המחשב 1 מהדורת עיצוב תשס"ו 2006 כתבה: יעל בילצ'יק (סופרין)

מבוא לשפת C תירגול 1: מבוא מבוא לשפת סי - תירגול 1

מבוא לשפת C מבוא לשפת סי - תירגול 1

המבנה הגאומטרי של מידה

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

Practical Session No. 13 Amortized Analysis, Union/Find

מדריך למשתמש התקנה עצמית

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

מבוא למחשב בשפת פייתון

לשרטוט חשמלי בתוכנת OrCad-Capture

מבוא לתכנות ב- JAVA תרגול 7

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

Structural Vs. Nominal Typing

מדריך למשתמש התקנה עצמית

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

/ פתיחת החשבון הכרחית רק למרצה / מתרגל ונעשית רק בעת הכניסה הראשונה.

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

מבוא לאסמבלי מאת אופיר בק חלקים נרחבים ממאמר זה נכתבו בהשראת הספר "ארגון המחשב ושפת סף" אשר נכתב ע"י ברק גונן לתוכנית גבהים של משרד החינוך.

SPSS 10.0 FOR WINDOWS

Reflection Session: Sustainability and Me

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

Patents Basics. Yehuda Binder. (For copies contact:

מדריך לניהול VPS טריפל סי מחשוב ענן בע"מ.

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

תרגול 8. Hash Tables

פקס בחיבור המכשיר המשולב לפקס יש לעבור על השלבים הבאים: - חבר את כבל הטלפון לחיבור ה- LINE בגב המדפסת ואת צידו השני לשקע הטלפון בקיר.

מדריך שימוש בדואר האלקטרוני

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

מבחן באנגלית בהצלחה הצלחה!!! שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: שם מרכז מנהל מרכז השכלה: תאריך בדיקת המבחן: כל הזכויות שמורות למשרד החינוך

פרצות אבטחה נפוצות בהעלאת קבצים בעזרת PHP

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx

1.1. הקדמה (דיסק). מדריכי. (מחיצות) Link

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

Privilege Escalation

הגדרות טלפון פוליקום בקישור הבא יש טבלה מסודרת שבה מופיעים כל סוגי הטלפון ולאיזה גירסא ניתן לשדרג

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

הבינגמה הדובע תביבסב תונכתל ריהמ ךירדמ

A R E Y O U R E A L L Y A W A K E?

אנגלית (MODULE E) בהצלחה!

תכנות בטוח חלק ב ' מאת עידו קנר

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

Hosted Exchange 2010 מדריך טריפל סי מחשוב ענן בע"מ.

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

מספר ת"ז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה.

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

הקדמה בדיקת תמיכה ב- SSL מאת עידו קנר

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

זה אומר שאחרי הכרות עם השפה מה שדורש השקעה אפשר להקדיש את מרבית הזמן לצד המוזיקלי יצירתי ולא התכנותיÆ איזה כיף

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

Genetic Tests for Partners of CF patients

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

NTFS ADS Magic Tricks

נתב / TP LINK TL WR541G / TL WR641G

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

FULL ARTICLE ACTIVE DIRECTORY

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

שאלון ד' הוראות לנבחן

מהי שפת ג'אווה? מה זה? IDE

מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית (MODULE C) מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי قاموس إنجليزي - إنجليزي - عربي

מושגים בסיסיים תלמידים והורים יקרים,


DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

שאלון ו' הוראות לנבחן

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

תכנות בC קבצים מצב פתיחת הקובץ שם תיקני במערכת הפעלה. אם הקובץ לא נמצא במיקום בו אני מריץ את התוכנית יש להוסיף מיקומו בדיסק. פתיחת הקובץ לקריאה:

מדריך למשתמש בשירות. yes MultiRoom

פולימורפיזם. blog.csit.org.il מדעי המחשב

הכרת ה- SPSS, הכנסה והגדרה של משתנים

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

הצגת המשחק תלמידים משחקים סיום. פתיחה 12 min. min. min. min פתיחה. Copyright 2015

אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן )מילון אנגלי-ערבי / ערבי-אנגלי )

שאלון ו' הוראות לנבחן

בוחן בתכנות בשפת C בצלחה

7 קרפ תויגול,תויטמתירא תודוקפ הזזהו

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

תרגיל בית מספר - 1 להגשה עד 9 בנובמבר בשעה 23:55

Operating Systems, 142. Practical Session 12 File Systems, part 2

במבוא מורחב למדעי המחשב בשפת פייתון

FULL ARTICLE ACTIVE DIRECTORY

ניסוי בפייתון מכון טכנולוגי לישראל הניסוי מתקיים בבניין פישבך, חדר 573 )במסדרון למאייר(. המאחר ביותר מ- 53 דקות לא יורשה לבצע את הניסוי.

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

אוניברסיטת בן גוריון בנגב

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

דגשים: הערות: John Bryce Linux Forum: (Linux) BIND Mini How-To (In Hebrew) על שרת Red Hat Enterprise Linux גרסא.5.

T H E S U N F L O W E R L I M I T S T O F O R G I V E N E S S

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות

ל"תוכנה" שכותבים, כמו פונקציה זו, קוראים "קוד"

מנדליי הינה תוכנה חינמית המיועדת לעזור בניהול, שיתוף, קריאה, הוספת הערות וציטוט של מאמרים. בנוסף מתפקדת גם כרשת חברתית של אנשי אקדמיה ומחקר.

Transcription:

תרגול מס' 2 הכרות, הכנת תכנית בשפת C והרצתה במערכת Visual C 1( אתר הקורס: )2 הפעלת סביבת הפיתוח של C++ : Microsoft Visual Visual Studio 2005 )זוהי הגרסה המתוקנת במעבדה, כיום את גרסות,Visual Studio 2008/2010 Express Edition אנו נלמד לעבוד עם סביבת פיתוח בשם לא ניתן להוריד את הגרסה הנ"ל, רק מבחינתנו הן זהות(. נפתח את סביבת הפיתוח ע"י 4 Start All Programs Microsoft Visual Studio 2005 Microsoft Visual Studio 2005 המרכיבים הבסיסיים של סביבת הפיתוח 4 עורך (Editor) משמש לכתיבה נוחה של תכניות C. מהדר (Compiler) מתרגם את קבצי המקור שאתם כותבים בשפת C לשפת המכונה. כתוצאה מההידור נוצר קובץ.obj שהוא קובץ בינארי המכיל את הקוד המקומפל. מקשר (Linker) מחבר את תכנית המקור )או כמה קבצי מקור( עם פונקציות מהספריות הסטנדרטיות לקובץ אחד שמהווה תכנית לביצוע )זהו קובץ ההרצה בעל סיומת.exe שנוצר כתוצאה מהקישור). בניה )Bulid( תהליך ביצוע הידור ולאחריו קישור. מנפה שגיאות (Debugger) כלי עזר לגילוי מיקומן של טעויות לוגיות בתכנית. סביבת העבודה מאפשרת יצירת מעטפת )פרויקט( לתוכנית שלנו, ללא פרויקט קובץ בשפת C הוא לא יותר מאשר אוסף תווים, בעזרת סביבת העבודה נוכל ליצור פרויקט אשר מריץ את אוסף התווים הללו ויוצר מהם תוכנית בשפת מחשב. 1

3( תכנית ראשונה ב- - C שלבי הביצוע: 3.1 יצירת מעטפת התוכנית (project) 4 הפרויקט למעשה הוא אוסף של מחיצות )תיקיות( שבעזרתן בונה ומריץ VS2005 את התוכנית שלנו. קובץ ה C שלנו יישב בתוך פרויקט. ללא פרויקט, קובץ ה C הוא אוסף של תווים ולא ניתן להריץ אותו! עתה ניצור את הפרויקט הראשון שלנו 4 File New Project Win 32 Win32 Console Application Name: welcome Location: S:\ OK Application Settings (under Overview) Under "Additional options" Mark The "Empty project" square. Finish לאחר שיצרנו פרויקט אנו נקבל את המסך הבא )VS2002( 4 2

טעויות נפוצות 4 סטודנט שלא יבחר במשבצת Empty project לא יוכל להריץ בהמשך את התוכנית שהוא כתב. יצירה של פרויקט חדש בשם של פרויקט שכבר קיים. מידע חשוב 1. אין לכם הרשאות כתיבה לכונן! C 2. יש לכם הרשאות כתיבה לכונן D, אבל כונן זה נמחק בכל יום בשעה 00400 או כאשר אתם מבצעים logout ולכן מומלץ מאוד שלא להשתמש בו לשמירת מידע חשוב. 3. לכל אחד מכם מוקצה 15mb בכונן S, זהו כונן רשת הנגיש מכם מקום )גם מהבית( וכתובתו ftp://sansana.bgu.ac.il מומלץ להשתמש בכונן זה אך שימו לב!!!!! מכיוון שזהו כונן רשת, לפעמים הקשר עם השרת אובד, לכן חובה עליכם לגבות את העבודה )דוא"ל, זיכרון נייד DOK וכו'(. לא תקבלו הארכות למטלה בגלל טעויות טכניות של איבוד\מחיקה\דוא"ל שנעלם וכו'!!! זכרו לגבות את עבודתכם באופן שוטף. 3

3.2 הכנת קובץ המקור בחלון העריכה 4(welcome.c) הקבצים שאותם תכתבו בשפת C בתוך העורך נקראים "קבצי מקור". לקבצים אלו צריכה להיות סיומת של c. ברירת המחדל של סביבת הפיתוח הוא לפתוח/לשמור קבצים אלו כקבצי.cpp ולכן נצטרך לדאוג לתת להם את הסיומת המתאימה בעת פתיחה/שמירה. Project Add new item כעת, צרו קובץ חדש בשם 4 welcome.c במקרה של סביבת הפיתוח ++C 2005 4Microsoft Visual Code C++ File (.cpp) Name: welcome.c Location: D:\welcome Add כתוב בחלון העריכה את התכנית הבאה )אפשר להעתיק ולהדביק אבל עדיף לרשום בצורה מלאה(, שימו לב להתנהגות העורך במילים השונות )הצבעים(, שימו לב כאשר אתם רושמים את הסוגריים ושימו לב מה קורה לסמן לאחר הקשת 4 Enter #include <stdio.h> void main() { printf("welcome to C Programming!\n"); } 3.3 שמירת קובץ המקור 4.File Save אם פתחתם את קובץ המקור כקובץ.cpp ולא כקובץ c. ניתן לשנות זאת כאן, על ידי לחיצה עם הכפתור הימני על הקובץ ובחירת rename )או שינוי שם(. שימו לב שינוי שם הקובץ מחוץ לתוכנית VS2005 )למשל על ידי שינוי השם ב )windows תגרום לכך שיעלם הקישור בין הפרויקט שלכם לקובץ שכתבתם )הקובץ לא יימחק מהדיסק הקשיח(. לכן כל שינוי שם יתבצע מתוך! VS2005 Build Compile 3.4 פעולות הידור, קישור והרצת תכנית 4 פעולת הידור )קומפילציה( מתבצעת ע"י אם בזמן ההידור יתגלו טעויות יש לתקן אותן ולעשות קומפילציה מחדש. פעולת קישור מתבצעת ע"י אם בזמן הקישור יתגלו טעויות, יש לתקן אותן ולעשות את פעולות ההידור והקישור מחדש. Build Build Solution Debug Start without debugging הרצת תכנית מתבצעת ע"י 4 4

Project Properties עתה נגרום למהדר לעבוד בתצורה של C ולא של ++C עבור הפרויקט שלנו 4 יפתח המסך הבא 4 Configuration Properties C/C++ Advanced נבחר ב ונשנה את השורה השנייה Compile As ל - (/TC) 4 Compile as C Code 5 ונלחץ אישור.

3.5 פתיחה של פרויקט קיים סגרו את התוכנית.VS2005 במידה ונרצה לפתוח שוב את הפרויקט שלנו, לא נלחץ על קובץ ה C שכתבנו!אלא נחפש קובץ עם סיומת.sln ונלחץ עליו לחיצה כפולה. במידה ויש בידינו את קובץ C בלבד, עלינו לפתוח פרויקט חדש ולייבא אותו נלמד מייד כיצד( )4 תכנית שנייה - redirection #include <stdio.h> void main() { printf("welcome to C Programming!\n"); } תשנו את תוכן התכנית מ 4 #include <stdio.h> ל 4 void main(){ int num; printf("hello! Please enter a integer number:\n"); scanf("%d", &num); printf("the number was %d.\ngood by!\n", num); } תריצו את התכנית כמה פעמים עם מספרים שונים. כרגע, תלחצו על לשונית project ותבחרו ב- יש לבחור ב- 4debugging configuration properties בתוך.properties כרגע לתוך command arguments יש למלא כפי שנראה בהמשך 4 6

יש ללחוץ על.OK כרגע, תשימו לב שאם נריץ את התכנית, נראה שהתכנית לא מדפיסה כלום למסך השחור )תקלידו בכל מקרה מספר והתכנית תסתיים(. אם עכשיו תבדקו, קיים קובץ בשם out.txt בתיקייה של הפרוייקט שלכם. עכשיו באותה תיקייה של הפרוייקט תייצרו קובץ בשם.in.txt בקובץ הזה תרשמו מספר כלשהו ואחרי זה תלחצו על.ENTER כרגע תשמרו ותסגרו את הקובץ. עכשיו, נרשום באותו החלון של 4properties 7

אם נריץ את התכנית נשים לב כי עכשיו התכנית שלנו כותבת למסך, אך לא מחכה לקלט מהמשתמש. היא בעצם משתמשת בתוכן של הקובץ in.txt כקלט. עכשיו נעשה שינוי נוסף 4 וכרגע כל פלט )הדפסות( של התכנית נכנס לקובץ out.txt כשהתכנית משתמשת ב- in.txt כקלט. שימו לב! יחד עם כל עבודת בית תקבלו קובץ in.txt ו- right.txt. אתם תתבקשו להריץ את התכנית כמו בדוגמה האחרונה ואחרכך להשוות את הקובץ שהתכנית שלכם מייצרת )out.txt( לקובץ שלנו.)right.txt( רק אחרי ששני הקבצים זהים לגמרי מותר להגיש את העבודה. בשביל לבדוק ששני קבצים זהים ניתן להשתמש בתוכנית בשם TextDiff הניתנת להורדה בחינם ב- http://www.angusj.com/delphi/textdiff.html או באתר שמשווה קבצים 4. http://www.comparemyfiles.com/default.aspx 8

שגיאות ואזהרות שגיאות 4 שגיאות קומפילציה, שגיאת זמן ריצה ושגיאה לוגית. שגיאת קומפילציה יש טעות בתחביר של הקוד ולכן המהדר אינו יכול להריץ את הקוד. שגיאה זאת "קלה" יחסית היות ובד"כ מסופק לנו מידע על מיקום ומהות הטעות )לפעמים גם הפתרון(. שגיאת זמן ריצה הקוד כתוב נכון מבחינה תחבירית, אך בזמן הריצה מתקיימת שגיאה )למשל, תוכנית שמחלקת שני מספרים שהמשתמש מכניס, כאשר המכנה הוא אפס(. ניתן לדעת בדיוק היכן ארעה שגיאה זו. שגיאה לוגית התוכנית רצה היטב אך התשובה המתקבלת לא נכונה. אזהרות 4 הקובץ יוכל להתקמפל אבל המהדר מספק אזהרות לגבי טעויות שעלולות לצוץ בזמן הריצה קיימות אזהרות מסוימות שצוות הקורס יגדיר לכם שיש להתעלם מהם. כל אזהרה שצוות הקורס לא הגדיר לכם כתקינה יש להתייחס אליה כאל שגיאה!!! הסיבה לכך היא שאתם כותבים את העבודות תחת סביבת ++C )נוחות(, אבל העבודה שלכם נבדקת בסביבת ansic אמיתי. בעוד שהמהדר של שפת ++C גמיש ביכולות ההרצה שלו, המהדר של ansic הרבה יותר נוקשה, ולכן כל אזהרה שמופיעה במהדר של ++C )ולא הוגדרה לכם ככזאת שיש להתעלם ממנה( היא שגיאה ב ansic! 5( תכנית שלישית - שגיאות קומפילציה. את התוכנית השנייה אין צורך להקליד. התוכנית נמצאת בספריה ציבורית, וכל מה שדרוש זה להעביר עותק שלה מהספרייה הציבורית לפרויקט שלנו. נעשה זאת בעזרת תוכנת FTP )המובנת בתוך חלונות. 4.1 ראשית נפתח פרויקט חדש בשם "average" )אם אינכם זוכרים הביטו בסעיף קודם(. 4.2 עתה נעתיק אל הקובץ 4 )My Computer( פתח את "המחשב שלי" בשורת הכתובת )אם היא איננה מופיעה הוסף אותה דרך תפריט )View הקלד ftp://ftp.bgu.ac.il זוהי הכתובת של שרת ה FTP הציבורי של אונב"ג. היכנס לתיקיית pub היכנס לתיקיית programming1 העתק את הקובץ average.cpp לתוך המחיצה הראשית של הפרויקט שלכם )אפשר להעתיק את הקובץ לכל מקום בדיסק הקשיח, רק יש לזכור לאן העתקתם...( עתה, ב- C++ 2005 Project Add Existing Item 4Microsoft Visual בחלון שניפתח חפשו את הקובץ ששמרתם, ולחצו פעמיים על הקובץ. average.cpp כתוצאה מכך מתקבלת התוכנית הבאה 4 9

/* Program that calculates the average of n integers #include <stdio.h> void main() { int n, number, sum=0; do { printf("enter the number of integers : "); scanf("%d",&n); }while(n<=0); for(i=1, sum=0; i<=n; i++){ printf("enter an integer #%d: ",i); scanf("%d",&number); sum=sum+number } printf("the average of %d integers is %d\n", n, sum/n); 4.2 בצע פעולת קומפילציה על התכנית. הודעות של ה- Compiler מופיעות בחלק התחתון של המסך. 4.3 תקן את שגיאות הקומפילציה בתכנית בהתאם להודעות השגיאה )יחד עם המתרגל(. 4.4 המשך בפעולות הנדרשות עד אשר לא תיהנה יותר שגיאות קומפילציה. שימו לב : במידה ואתם מייבאים קובץ הקובץ לא מועתק לתיקייה שלכם! אלא נוצר קישור בין הקובץ לבין הפרויקט. לכן, בכל פעם שאתם מייבאים קובץ בידקו שאתם יודעים מהו המיקום שלו בדיסק הקשיח. 11

6( תכנית רביעית: שגיאות לוגיות ומנפה השגיאות( Debugger (The interactive אם בזמן הביצוע יתקבלו תוצאות שאינן נכונות )כלומר התוכנית רצה אך היא לא מבצעת את מה שרצינו שתבצע(, מומלץ להשתמש ב- Debugger ע"מ לגלות טעויות לוגיות בתכנית. ראשית בצע את כל הפעולות הנדרשות להכנה והרצה של התכנית. חזור על סעיף 3.1 אבל שנה את שם הפרויקט "welcome" ל- "area" ובפרמטר Location יש לקבוע."S:\area" שלך באמצעות לספריה התוכנית נמצאת באותה ספריה ציבורית,"Pub" העתק את תכנית "area" תוכנת ה- FTP )ראה סעיף 4(. כתוצאה מכך מתקבלת התוכנית הבאה 4 #include <stdio.h> // Line 1 #define PI 3.14159 // Line 2 void main(){ // Line 3 double radius, width, height, circ_area, rec_area; // Line 4 int i; // Line 5 for (i = 0 ; i <= 3 ; i++){ // Line 6 printf("enter the circle radius\n"); // Line 7 scanf("%lf",&radius); // Line 8 circ_area = circle_area(radius); // Line 9 printf("the circle area with radius %f is %f\n", radius, circ_area); // Line 10 printf("enter the sides of a rectangle\n"); // Line 11 scanf("%lf%lf",&width, &height); // Line 12 rec_area = rectangle_area(width, height); // Line 13 printf("the rectangle area with the width %f",width); // Line 14 printf("and the height %f is %f\n", height, rec_area); // Line 15 } // Line 16 } // Line 17 /* Function "circle_area" Line 18 */ double circle_area(double radius){ // Line 19 double aux; // Line 20 aux= PI*radius; // Line 21 return aux*aux; // Line 22 } // Line 23 /* Function "rectangle_area" Line 24 */ double rectangle_area(double width, double height){ // Line 25 return width+height; // Line 26 } // Line 27 התכנית area מחשבת את שטחי המעגל והמלבן לפי הנתונים הנקלטים מהמקלדת. התכנית מורכבת משלושת הפונקציות הבאות 4.main, circle_area, rectangle_area ניתן להתייחס לפונקציה כאל קופסה שחורה 4 מקבלת קלט מסוים, מבצעת פעולות חישוב כלשהיא ומחזירה תשובה )כמובן שאפשר לגשת ולבחון את פעולת החישוב שהקופסה מבצעת(. בהמשך הקורס תלמדו לעומק מהי פונקציה. ) r 2 עכשיו המשך בפעולות הנדרשות לשם הרצת התוכנית )ראה סעיף 3(. הרץ את התוכנית וודא שהתוכנית מחשבת נכון את שטחי המעגל ( רוחב(. )אורך כפול והמלבן כמה פעמים הפונקציה מבצעת את התהליך? איזו שורה אחראית לכך? 11

המנפה (Debugger) עוזר למצוא את מיקום הטעויות הלוגיות בתכנית המקור ע"י 4 יכולת ההתמקדות על קטע מסוים, בדיקת הערכים הנבחרים, יכולת להפסיק באופן זמני את הרצת התכנית כדי לבדוק ו/או לשנות ערכים מסוימים. F9 הפעולות הבסיסיות שיש לבצע ע"מ לנפות שגיאות 4 קביעת נקודות בהן יש לעצור את התכנית Breakpoints) 4(Set הקישו )מופיע סימון בצבע האדום(. בתכנית הקישו F5 4Debugger הפעלת תכנית באמצעות הקישו F10 4(step by step) קידום התכנית בצעדים קידום התכנית עד נקודת העצירה הבאה או עד הסוף 4 הקישו F5 כניסה לתוך הפונקציה 4 הקישו F11 הקישו Shift+F5 4 Debugger - יציאה מה בשורה הנבחרה :Debugger הרצת תכנית area באמצעות בתוכנית שלנו ישנן שגיאות לוגיות. אנחנו נשתמש ב- Debugger על מנת למצוא ולתקן אותן באופן הבא 4 בשורה 7 )בתחילת השורה מופיע סמל בצבע אדום(. קבע נקודת העצירה (F9) )F5(. הרץ את התכנית לאחר עצירת התכנית בנקודה הקבועה מופיע על המסך חץ צהוב )בתוך העיגול האדום( המצביע על הפקודה הבאה אשר תתבצע. בחלק התחתון של המסך מופיעה טבלת המשתנים.Context בטבלה זו ניתן לבחון את הערכים הנוכחיים של המשתנים השונים בתוכנית )שימו לב שלפעמים לא כולם מופיעים בהמשך הקורס נלמד מדוע(. בצע את התכנית צעד-צעד ע"י לחצת F10. במהלך ההרצה הסתכל בטבלת המשתנים. ערכים שהשתנו בצעד האחרון - נצבעים בצבע אדום. לאחר כל לחיצה על F10 החץ הצהוב מתקדם בשורה אחת. )scanf הקישו F10 ולאחר מכן אם החץ הצהוב מצביע על שורות 2 או 12 )עם פקודת ה- ע"מ להכניס את )area הקישו על הקונסול )המסך השחור שהוא חלון הריצה של התוכנית הנתונים הנדרשים. F11 אם החץ הצהוב מצביע על שורות 3 או 13 )עם הקריאות לפונקציות( הקישו ע"מ להיכנס לתוך הפונקציות. )במקום F10) ע"מ לסיים אם החץ הצהוב מצביע על השורות האחרונה לביצוע )11( הקישו שוב על F5 את ביצוע התכנית.. F5+Shift ע"י Debugger אם מצאת שגיאה צא מה- בזמן תהליך ה debug ניתן להצביע על משתנה כלשהוא )עם העכבר( ולראות את תוכנו ובנוסף ניתן להתערב ולשנות ערכים של משתנים באמצע ההרצה. תקן את השגיאה שמצאת בעזרת העורך. הרץ שוב את התכנית וודא שהתיקון שעשית אכן פתר את הבעיה. בתוכנית ישנן שתי בעיות. תקן גם את הבעיה השנייה..1.2.3 7( הערות כלליות ניתן להוריד את ה- Visual ++C 2008 Express Edition בחינם מהאתר של מיקרוסופט )גגלו(. יש לבצע רישום תוך 30 יום, אחרת התוכנית תפסיק לעבוד! )הרישום הוא חינם( ניתן לבצע אותו על ידי לחיצה על תפריט help ומשם על.register product בהצלחה! 12